Online analytical processing (OLAP) is a category of tools, such as applications and software, used to provide access to data in a database. With OLAP, multidimensional analytical queries can be quickly answered. Databases configured for OLAP may use a multidimensional data model that provides multidimensional views of data for quick access to strategic information for further analysis.
OLAP tools use OLAP cubes to achieve efficient data retrieval. An OLAP cube is a data structure that organizes categories of data by dimensions and measures. A measure represents a fact or a number value. A dimension represents descriptive categories of data. For example, a measure may be the actual data value that occupies a cell as defined by the dimensions selected for a view. An OLAP cube may have any number of dimensions.
A simple example may include time, product and location as three dimensions of the cube, representing descriptive categories of data. A measure is a discrete data element in the cube. Any number of dimensions can be added to the OLAP cube, such as store, cashier, or customer in this case. This allows an analyst to view the measures along any combination of the dimensions.
Conventionally, for data warehousing reporting, a technical solution team defines the OLAP cube and then reports to users, such as business analysts, what was done using only the defined OLAP cube structure. If users want to change the OLAP cube, such as add or remove dimensions, a cumbersome process must be followed by the technical solution team to properly implement the changes. The back-and-forth communications and processes needed to implement changes to the OLAP cube are burdensome, non-timely, and can cause analysts frustration when trying to get different views of the data to answer critical business intelligence questions in a reasonable time period.